package org.gws.alaska.metamodel.uml


/**
 * @author Gianfranco Murador
 * Defines several methods to create and manipulate 
 * uml model instance.
 */
abstract class AlaskaModelBuilder {

	public abstract void useProfile(profiles = [])
	
	public abstract void applyStereotype(String elementName, String stereotypeName)
	
	public abstract void createModel(String name, params = [:]) 
	
	public abstract void createModelClass(String name, features =[:] )
	
	public abstract void createModelAssociation(String name, feature = [:])

	public abstract void createModelPackage(String name, feature = [:])
	
	public abstract void createModelProperty(String name, feature = [:] )
	
	public abstract void store ( AlaskaModelStore store)
	
	public abstract void validate()
}
